- copy process is current complicated. As soon as somebody forget to copy the text range
  correctly the whole text buffer might be messed up. We should think about a more
  closed world. May be we can make the SimpleTextEdit final. Another solution is to
  remove all constructors that take an text range object. That ensure that we also 
  create a new one from two ints.
  
- get text range could return a copy, but then we have to adjust all the TextEdit.adjust*
  methods. No this is not necessary since outside the text edit infrastructure nobody
  can modify a text range. The methods are package visible.
  
- need way to head-less batch changes in editors into one undo object.

- open questions:
  o will the text edit world be open or closed. For ASTRewriting we need
    an open world since we need special move and copy edits. An open world
    is not so dangerous anymore since we can now check during add if the
    edit is valid (both buffer length and parent range). This wasn't possible 
    before.
  o do we want to keep the performed() method. This is currently not used.
  o copy method. Refactoring needs a way to copy text edits to generate
    a preview.